Live:CloudOps Webinars & Hands-on Workshops ·Register ↗
メインコンテンツまでスキップ

CloudTrail イベントフィールドのセキュリティ上の重要性を理解する

AWS CloudTrail イベントフィールドは、API アクティビティ、ユーザー ID、リソースインタラクションに関する詳細な情報を提供し、セキュリティ調査中の正確な追跡と分析を可能にします。このセクションでは、重要な CloudTrail イベントフィールド、そのセキュリティ上の重要性、およびフォレンジック分析とインシデントレスポンスに推奨されるユースケースについて説明します。

セキュリティ調査のための主要な CloudTrail イベントフィールド

以下は、最も重要な CloudTrail イベントフィールドの詳細な内訳、セキュリティ調査におけるその重要性、およびインシデント対応時に効果的に活用する方法です。

AWS CloudTrail レコードの内容を確認する

AWS CloudTrail レコードの内容の完全な詳細(以下のような主要フィールドを含む)を確認するには、 eventName, eventSource、および requestParameters, 包括的なドキュメントをご確認ください。完全なログインサイトでセキュリティフォレンジックとインシデントレスポンスを強化します。

重要なイベントフィールド

  • 1. userIdentity

    • 説明: リクエストを行っている IAM アイデンティティに関する詳細情報(以下を含む) type (例: IAMUser、AssumedRole、Root)、 principalId, arn, accountId, userName、および sessionContext.
    • セキュリティ上の重要性: インシデントの背後にいるアクターを特定し、侵害されたユーザー、ロール、またはルートアカウントが関与しているかどうかを判断できます。また、クロスアカウントアクセスのトレースもサポートします。
    • ユースケース: 使用 userIdentity 不正なアクターが盗まれた IAM 認証情報を使用したか、またはロールを引き受けて権限を昇格させたかどうかを特定するためです。もし typeRoot、root アカウントの侵害リスクが高いため、直ちにエスカレーションしてください。
  • 2. userIdentity.accessKeyId

    • 説明: リクエストで使用されたアクセスキーを識別します。
    • セキュリティ上の重要性: 悪意のある攻撃者は盗んだアクセスキーを再利用することが多いため、複数のイベントにわたって侵害された認証情報を追跡します。
    • ユースケース: 以下を使用して不審なアクティビティを関連付けます accessKeyId 侵害の範囲を特定します。空の場合(例:コンソールアクションの場合)、以下と相互参照してください。 userIdentity.sessionContext セッションタイプを確認します。
  • 3. userIdentity.userName

    • 説明: IAM ユーザーの名前を指定します。
    • セキュリティ上の重要性: 特に複数のアクセスキーがある場合に、ユーザー固有のアクティビティを追跡します。
    • ユースケース: クロスリファレンス userName を使用 userIdentity.principalId 一貫したアイデンティティ追跡のために。
  • 4. userIdentity.principalId

    • 説明: リクエストを行うエンティティの一意の識別子を提供します。
    • セキュリティ上の重要性: 特に一時的な認証情報において、セッション間でアクションを関連付けます。
    • ユースケース: 引き受けたロールやセッション間での不正アクターの動きを追跡します。 principalId.
  • 5. userIdentity.sessionContext

    • 説明: 引き受けたロールまたはフェデレーテッドセッションの詳細(以下を含む) sessionIssuer および sourceIdentity
    • セキュリティ上の重要性: クロスアカウントアクセスやロールチェーン攻撃を理解するために重要です。リクエストが一時的なセキュリティ認証情報を使用して行われた場合、sessionContext はそれらの認証情報に対して作成されたセッションに関する情報を提供します。一時的な認証情報を返す API を呼び出すと、セッションが作成されます。また、ユーザーがコンソールで作業し、多要素認証を含む API でリクエストを行う場合にもセッションが作成されます。
    • ユースケース: 分析 sessionContext.sourceIdentity ロール引き受けシナリオにおける攻撃の起点を追跡します。
  • 6. userIdentity.type

    • 説明: ID タイプを指定します(例: IAMUser, Root, AssumedRole)。
    • セキュリティの重要性: 次のような高リスクなアクションを識別します。 Root 使用状況が即時エスカレーションを必要としています。
    • ユースケース: フィルタリング対象 userIdentity.type 特権 ID に関連する調査を優先するため。
  • 7. userIdentity.arn

    • 説明: プリンシパルの Amazon Resource Name を提供します。
    • セキュリティ上の重要性: 複雑な環境におけるアクターの正確な識別を保証します。
    • ユースケース: IAM エンティティへのアクションを追跡するために使用します。 arn.
  • 8. userIdentity.accountId

    • 説明: エンティティを所有する AWS アカウントを識別します。
    • セキュリティ上の重要性: クロスアカウントシナリオにおいてソースアカウントを分離します。
    • ユースケース: 以下とクロスリファレンスします recipientAccountId 不正アクセスを検出します。
  • 9. userIdentity.sessionIssuer

    • 説明: セッション認証情報を発行するエンティティ(例:ロール)を識別します。
    • セキュリティ上の重要性: ロールベースの攻撃における一時的な認証情報のソースを追跡します。ユーザーが一時的なセキュリティ認証情報を使用してリクエストを行う場合、sessionIssuer はユーザーが認証情報を取得した方法に関する情報を提供します。例えば、ロールを引き受けることで一時的なセキュリティ認証情報を取得した場合、この要素は引き受けたロールに関する情報を提供します。ルートまたは IAM ユーザーの認証情報を使用して AWS STS GetFederationToken を呼び出すことで認証情報を取得した場合、この要素はルートアカウントまたは IAM ユーザーに関する情報を提供します。
    • ユースケース: 分析 sessionIssuer in AssumedRole 権限昇格分析のためのイベント。
  • 10. userIdentity.invokedBy

    • 説明: AWS サービス(例: Lambda)がリクエストを行ったかどうかを示します。
    • セキュリティ上の重要性: サービスによって開始されたアクションとユーザーアクティビティを区別し、設定ミスや悪用されたロールを特定します。
    • ユースケース: 調査 invokedBy サービスの動作における異常を検出します。
  • 11. eventTime

    • 説明: アクティビティの UTC タイムスタンプを記録します。
    • セキュリティ上の重要性: 攻撃のタイムラインを確立し、最初の侵害ポイントを特定して、システム間のイベントを関連付けます。
    • ユースケース: 悪意のある行為者のアクションを順序付けし、不正アクセスの継続時間を特定します。通常とは異なる時間帯における API 呼び出しの急増は、悪意のあるアクティビティを示している可能性があります。
  • 12. eventName

    • 説明: AWS API アクション(例: GetCallerIdentity, CreateAccessKey, DeleteBucket)。
    • セキュリティ上の重要性: 偵察などの悪意のある攻撃者の手法を明らかにします (ListUsers) または権限昇格 (CreateAccessKey)。
    • ユースケース: 分析 eventName IAM ポリシーの変更やログの無効化など、永続化や検出回避を意図した高リスクなアクションを特定します。
  • 13. eventSource

    • 説明: ターゲットとなる AWS サービスを識別します(例: iam.amazonaws.com, s3.amazonaws.com)。
    • セキュリティ上の重要性: 影響を受けるサービスを特定し、修復作業の優先順位付けを支援します。
    • ユースケース: 調査 eventSource のために sts.amazonaws.com を使用 eventName AssumeRole ロールチェーン攻撃を検出するために使用します。侵害されたサービスに焦点を当てるようにログをフィルタリングします。
  • 14. sourceIPAddress

    • 説明: リクエストの発信元 IP アドレスを示します。
    • セキュリティ上の重要性: 攻撃の地理的な発信元と潜在的な脅威アクターを特定します。
    • ユースケース: クロスリファレンス sourceIPAddress 脅威インテリジェンスフィードと組み合わせて不審な発信元を検出します。「AWS Internal/#」と表示される場合は、サービスロールや設定ミスを調査してください。
  • 15. userAgent

    • 説明: 使用されているアプリケーションまたはツールの詳細(例: aws-cli, aws-sdk-java)。
    • セキュリティ上の重要性: 悪意のある攻撃者が使用する不審なツールや非標準アプリケーションを特定します。
    • ユースケース: 監視 userAgent 異常を検出します。例えば、非 AWS SDK などは、通常の組織パターンから逸脱した悪意のあるツールを示している可能性があります。
  • 16. errorCode と errorMessage

    • 説明: API 呼び出しが失敗したかどうか、およびその理由を示します(例: AccessDenied)。
    • セキュリティ上の重要性: 失敗した攻撃の試みと権限の境界を明らかにし、悪意のある行為者の範囲に関する洞察を提供します。
    • ユースケース: 複数 AccessDenied のエラー CreateAccessKey 権限テストを示している可能性があります。これらのフィールドを使用してセキュリティコントロールを改善してください。
  • 17. requestParameters

    • 説明: リソース名や設定など、API 呼び出しとともに送信されたパラメータが含まれます。変更を加えるアクション(作成、更新、または削除アクション)のレスポンス要素(存在する場合)。読み取り専用 API の場合、このフィールドは null です。アクションがレスポンス要素を返さない場合、このフィールドは null です。アクションのレスポンス要素は、該当する AWS サービスの API リファレンスドキュメントに記載されています。
    • セキュリティ上の重要性: API 呼び出しの具体的な入力と、悪意のある行為者のアクションによって送信された設定の詳細を明らかにします。
    • ユースケース: 分析 requestParameters の中に CreateBucket 修復のためのバケット名を特定するための呼び出し。
  • 18. responseElements

    • 説明: 新しく作成されたアクセスキーやリソース ARN など、API 呼び出しの出力が含まれます。変更を加えるアクション(作成、更新、または削除アクション)に対するレスポンス要素(存在する場合)です。読み取り専用 API の場合、このフィールドは nullアクションがレスポンス要素を返さない場合、このフィールドは null. アクションのレスポンス要素は、該当する AWS サービスの API リファレンスドキュメントに記載されています。
    • セキュリティ上の重要性: 新しく作成されたリソース、アクセスキー、その他のアーティファクトなど、重要な情報が含まれています。
    • ユースケース: 使用 responseElements の中に CreateAccessKey 新しいキーを無効化し、不正な変更を元に戻すイベント。
  • 19. resources

    • 説明: ARN やリソースタイプを含む、アクセスまたは変更された AWS リソースを一覧表示します。
    • セキュリティ上の重要性: 修復のために S3 バケットや IAM ロールなどの影響を受けるアセットを特定します。
    • ユースケース: 使用 resourcesDeleteObject 影響を受けた S3 オブジェクトを特定し、復旧の優先順位を付けるためのイベント。
  • 20. eventType

    • 説明: イベントを分類します(例: AwsApiCall, AwsConsoleSignIn)。
    • セキュリティ上の重要性: API ベースの攻撃、コンソールログイン、またはサービスによって開始されたアクションを区別します。
    • ユースケース: フィルター AwsConsoleSignIn 不正なコンソールアクセスを検出し、MFA を確認するためのイベント。
  • 21. recipientAccountId

    • 説明: リクエストを受信する AWS アカウントを識別します。
    • セキュリティ上の重要性: マルチアカウント組織におけるクロスアカウントアクティビティを追跡します。
    • ユースケース: 以下を調査します。 recipientAccountId 異なります userIdentity.accountId 不正なクロスアカウントアクセスに対して。
  • 22. awsRegion

    • 説明: リクエストの AWS リージョンを指定します。
    • セキュリティ上の重要性: 地理的なパターンとインシデントの範囲を確立します。
    • ユースケース: ログをフィルタリングします。 awsRegion 未使用のリージョンで異常を特定します。
  • 23. readOnly

    • 説明: API 呼び出しが読み取り専用であったかどうかを示します (true) または書き込み (false)。
    • セキュリティ上の重要性: 偵察アクションと変更アクションを区別します。
    • ユースケース: データ改ざんや永続化の可能性がある書き込み操作に焦点を当てます。
  • 24. eventID

    • 説明: 各 CloudTrail イベントを一意に識別します。
    • セキュリティ上の重要性: 特定のイベントを参照し、SIEM ツールなどの外部システムと関連付けることができます。
    • ユースケース: 使用 eventID ログの集約と追跡のプライマリキーとして使用します。
  • 25. serviceEventDetails

    • 説明: IAM Identity Center フェデレーションイベントなど、サービス固有のコンテキストを提供します。
    • セキュリティ上の重要性: 専門的なサービスの詳細により、調査を強化します。
    • ユースケース: 分析 serviceEventDetails フェデレーションユーザーのアクションを監査するための IAM Identity Center イベントに使用します。
userIdentity 要素を探索する

AWS CloudTrail ログの userIdentity 要素を理解するための包括的なガイドとして、そのフィールド(例: type, userName, arn)、詳細なドキュメントをご覧ください。効果的なセキュリティフォレンジックとインシデントレスポンスのためのインサイトを活用してください。

CloudTrail のベストプラクティス

セキュリティ調査における CloudTrail の効果を最大化するために、AWS Organization 内のすべてのリージョンおよびアカウントで CloudTrail を有効にしてください。アクセスが制限された S3 バケットにログを安全に保存し、改ざんを検出するためにログファイルの整合性検証を有効にしてください。Amazon Athena や CloudTrail Lake などのツールを使用してこれらのフィールドを定期的に分析し、異常を特定してインシデントに迅速に対応してください。

侵害された AWS アクセスキーの分析ワークフロー例

  1. アクターを特定する: 使用 userIdentity fields (type, userName, arn, accountId, principalId) を使用して、関与するアイデンティティを特定します。必要に応じてエスカレートしてください。 Root が検出されます。
  2. タイムラインの確立: 使用 eventTime イベントを順序付けし、攻撃の継続時間を特定します。
  3. アクションを分析する: レビュー eventName, eventSource、および readOnly 悪意のある行為者の手法と影響を受けるサービスを把握します。
  4. リソースを追跡する: 使用 resources, requestParameters、および responseElements 修復対象または変更されたアセットを特定します。
  5. アクセスの調査: クロスリファレンス sourceIPAddress, userAgent, recipientAccountId、および sessionContext 不正アクセスやロールチェーンを検出します。
  6. エラーのレビュー: 分析 errorCode および errorMessage IAM ポリシーによってブロックされた試行済みアクションを特定します。
  7. イベントの相関付け: 使用 eventID および serviceEventDetails SIEM ツールと統合し、詳細なフォレンジック分析を実行します。